Historically, software that has been run on individual computer systems, such as the computing devices used by individual users, has been unsecure. Such unsecure system software includes versions of the Microsoft Windows® operating system, available from Microsoft Corp., of Redmond, Wash., for instance, and is susceptible to tampering and other deleterious effects by malicious and rogue software. For example, computer programs, as well as the operating system itself, can be installed on computers without having to authenticate the programs. As such, these programs are inherently insecure, since it cannot be determined that the program is what it claims to be.
Some computing applications, however, require a more secure environment in which to run, where the system software is not susceptible to tampering and other deleterious effects. Such secure system software may include operating systems and other computer programs that are digitally signed. Therefore, prior to installation on a computing device, it can be verified that the software has not been tampered with, and thus is what it claims to be.
A user may need to be able to switch between secure system software and unsecure system software. When not being run, the secure system software has to be protected from tampering by the unsecure system software, and by programs running in conjunction with the unsecure system software. Within the prior art, being able to switch from secure system software and unsecure system software is typically achieved by using a computing device with a processor that has special security features built-in. These security features enable the processor to ensure that unsecure system software will not tamper with secure system software.
However, computing devices that use such special processors are generally more expensive than computing devices that do not have such special processors, such as computing devices that use currently available processors from Intel Corp., of Santa Clara, Calif., as well as from Advanced Micro Devices, Inc., of Sunnyvale, Calif. Existing computing devices that do not have special processors are also more plentiful than computing devices using special processors. Therefore, running secure system software on the same computing device on which unsecure system software can also be run is difficult to achieve.